/*-- Handle Ajax --*/
function handleAjax(url,method,dataType,data,success,beforesend,error){
   if(url != ''){
      if (typeof(method) == 'undefined'){
         method = 'POST'
      }
      if(typeof(beforesend) == 'undefined'){
         beforesend = function(){};
      }
      if(typeof(error) == 'undefined'){
         error = function(){};
      }
      if(typeof(success) == 'undefined'){
         success = function(){};
      }
      $.ajax({
         url:url,
         type:method,
         dataType: dataType,
         data:data,
         beforeSend: beforesend,
         success:success,
         error:error, 
         
      });  
   }
}
function IsNumeric(num) {
     return (num >=0 || num < 0);
}
/*-- Show/Hide element --*/
function toggleElement(element){
   
   if($(element).hasClass('hide')){
      $(element).removeClass('hide');
   }else{
      $(element).addClass('hide');
   }
}
/*-- Add/Remove class into element --*/
function toggleClass(element,classname){
   if($(element).hasClass(classname)){
      $(element).removeClass(classname);
   }else{
      $(element).addClass(classname);
   }
}
/*-- Validate email --*/
function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
}

/*-- Log in --*/
function login(){
   var email = $("#email").val();
   var pass = $("#password").val();
   var remember = 0;
   if ($('#remember').is(":checked"))
   {
     remember = 1;
   }
   if($.trim(email) == ""){
      $("#email").focus();
      $("#alert-log-reg").removeClass('hide').html("Không được để trống email ");
      return false;
   }
   if($.trim(pass) == ""){
      $("#password").focus();
      $("#alert-log-reg").removeClass('hide').html("Không được để trống mật khẩu");
      return false;
   }
   var url = '/user/Login';
   data = {'email':email,"pass":pass,"remember":remember};
   succ = function(data){
      if(data.error == 1){
         $("#alert-log-reg").removeClass('hide').html(data.message);
      }else{
         window.location.reload();
      }
   }
   handleAjax(url,'POST','json',data,succ);
}

/*-- User register --*/
function register(){
   var email = $("#email_reg").val();
   var pass = $("#password_reg").val();
   var repass = $("#repassword_reg").val();
   var name = $("#fullname_reg").val();
   var gender = $("#gender").val();
   
   //Validate input
   if($.trim(email) == ""){
      $("#email_reg").focus();
      $("#alert-log-reg").removeClass('hide').html("Không được để trống email ");
      return false;
   }
   if($.trim(name) == ""){
      $("#fullname_reg").focus();
      $("#alert-log-reg").removeClass('hide').html("Không được để trống tên hiển thị");
      return false;
   }
   if($.trim(pass) == ""){
      $("#password_reg").focus();
      $("#alert-log-reg").removeClass('hide').html("Không được để trống mật khẩu");
      return false;
   }
   if(pass != repass){
      $("#repassword_reg").focus();
      $("#alert-log-reg").removeClass('hide').html("Xác nhận mật khẩu không chính xác");
      return false;
   }
   var url = '/user/Register';
   data = {'email':email,"pass":pass,"name":name,"repass":repass,"gender":gender};
   succ = function(data){
      if(data.error == 1){
         $("#alert-log-reg").removeClass('hide').html(data.message);
      }else{
         window.location.reload();
      }
   }
   handleAjax(url,'POST','json',data,succ);
}

/*-- Show form login-reg --*/
function showLogReg(){
   toggleElement('.pop-log-reg');
   $('body').append('<div class="overlay fixed" onclick="hidePopup()"></div>');
}

/*-- Show form upload video --*/
function showUpload(){
   toggleElement('.pop-upload');
   $('body').append('<div class="overlay fixed" onclick="hidePopup()"></div>');
}

/*-- Show tab login --*/
function showTabLogin(obj){
   var __this = $(obj);
   __this.parent().find('li').removeClass('active');
   __this.addClass('active');
   $('.form-login').removeClass('hide');
   $('.form-register').addClass('hide');
}

/*-- Show tab reg --*/
function showTabReg(obj){
   var __this = $(obj);
   __this.parent().find('li').removeClass('active');
   __this.addClass('active');
   $('.form-register').removeClass('hide');
   $('.form-login').addClass('hide');
}

/*-- hide popup --*/
function hidePopup(){
   $('.popup').addClass('hide');
   $('body .overlay').remove();
}
/*-- Add product to open cart --*/
function adToCart(id){
   data = {'id':id};
   url = '/buy/addtocart';
   succ = function(){
      $('.notification').show();
      setTimeout( "$('.notification').fadeOut();",1000 );
   }
   handleAjax(url,'POST','',data,succ);
}

/*-- Remove product from open cart --*/
function removeCart(id){
   data = {'id':id};
   url = '/buy/deletecart';
   succ = function(){
      location.reload(true);
   }
   var conf = confirm("Xóa sản phẩm này khỏi giỏ hàng ?");
   if(conf)
      handleAjax(url,'POST','',data,succ);
}
/*-- Update qty product cart --*/
function updateCart(id,obj){
   var qty = $(obj).val();
   url = '/buy/updatecart';
   succ = function(){
      location.reload(true);
   }
   if(qty != ''){
      if(IsNumeric(qty) && qty > 0){
      qty = Math.floor(qty);
      data = {'id':id,'qty':qty};
      setTimeout("handleAjax(url,'POST','',data,succ)",1000);
      }
      else
         setTimeout("alert('Số lượng sản phẩm phải là 1 số nguyên dương')",1000);   
   }
   
      
}